<?php
	/*随机获取字符串*/
	function strCode($counts){
		$chars='';
		$strCodes=array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l','m', 
						'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y','z', 
						'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L','M',
						'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y','Z', 
              			'0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
		for($i=0;$i<$counts;$i++){
			$keys=array_rand($strCodes);
			$chars.=$strCodes[$keys];
		}
		return $chars;
	}

	/*使用GD库生成二维码图片*/
	function createImg(){
		$width=81;
		$height=31;
		$lines=4;
		$points=100;
		$im=imagecreatetruecolor($width, $height);
		$white=imagecolorallocate($im, 255, 255, 255);
		$black=imagecolorallocate($im, 0, 0, 0);
		$red=imagecolorallocate($im, 255, 11, 11);
		imagefill($im, 0, 0, $white);
		/*验证字符串*/
		imagestring($im, 5, 0, 8, strCode(4), $red);
		/*干扰线*/
		for ($i=0; $i < $lines ; $i++) { 
         imageline($im, rand(0,$width),rand(0,$height),rand(0,$width),rand(0,$height),$red);
    	}
    	/*噪点*/
    	for($i=0;$i< $points;$i++){   
            imagesetpixel($im,rand(0,$width),rand(0,$height),$black);   
        } 
		header('content-type:image/png');   
        imagepng($im); 
        imagedestroy($im);
    }
    
    createImg();